<!DOCTYPE html>
<html>
<head>
<style>

#outer {
    overflow: auto;
    width: 200px;
    height: 200px;
}

#inner {
    position: relative;
    height: 400px;
}

#inner:focus {
    background-color: lightblue;
}

#inner:active {
    background-color: blue;
}

#h, #h2 {
    background: rgba(255, 255, 255, 0);
}

#h {
    position: absolute;
    height: 200px;
    width: 200px;
}

#h2 {
    position: absolute;
    top: 200px;
    height: 200px;
    width: 100%;
}

#h:hover,
#h2:hover {
    background: pink;
}

#h:active,
#h2:active {
    background: red;
}

pre {
    position: absolute;
    left: 250px;
    top: 80px;
}

</style>
</head>
<body>

<p>Manual test for <a href="https://bugs.webkit.org/show_bug.cgi?id=38129">bug 38129</a></p>

<p>Click the div below and press the context menu key on your keyboard (Shift+F10 also works)</p>

<div id=outer>
    <div id=inner tabindex=0>
        <div id=h2></div>
    </div>
</div>

<div id=h></div>

<pre></pre>

<script>

function cs(el)
{
    if (window.getComputedStyle)
        return window.getComputedStyle(el, '');
    return el.currentStyle;
}

document.addEventListener('contextmenu', function(e)
{
    var inner = document.querySelector('#inner');
    var outer = document.querySelector('#outer');
    var h = document.querySelector('#h');
    var h2 = document.querySelector('#h2');
    var result = [];

    result.push(e.target, document.querySelector('#inner'));
    result.push(cs(inner, '').backgroundColor, 'rgb(0, 0, 255)');
    result.push(cs(h, '').backgroundColor, 'rgba(255, 255, 255, 0)');
    result.push(cs(h2, '').backgroundColor, 'rgba(255, 255, 255, 0)');

    var s = '';
    for (var i = 0; i < result.length; i += 2) {
        s += result[i] + ' == ' + result[i + 1] + ' - ' +
            (result[i] == result[i + 1] ? 'PASS' : 'FAIL') + '<br>';
    }

    document.querySelector('pre').innerHTML = s;

    return true;
}, false);

</script>

</body>
</html>
